<?php

    exit;

    require_once(dirname(__FILE__).'/../../../globals.inc');
    $mikron->Page->StartBody();

    ?><h1>Оформление выигрыша:</h1><?php

    if(!isset($_GET['key']))
    {
        GoToPage('/');
    }

    $winkey = $_GET['key'];
    $win = $mikron->Queries->Query('T_WIN', null, new Criterion('winkey', $winkey));

    if($win->count() != 1)
    {
        GoToPage('/');
    }

    $win = $win->fetch();
    $game = gameByCode($win->gamecode->value);

    switch($win->state->value)
    {
        case 2:
            ?>Ваш выигрыш уже оплочен.<?php
            break;
        case 3:
            ?>Ваш выигрыш отменен администрацией сайта.<?php
            break;
        case 4:
            ?>Ваш выигрыш в обработке, будет начислен в ближайшее время.<?php
            break;
        case 1:

            if(is_object($mikron->Users->CurrentUser()->user))
            {
                $cab = $mikron->Users->CurrentUser()->user;
                $win->state->value = 2;
                $win->cabinet->value = $cab->id;
                $win->amount->value = $game->prize->value;
                $foplog = ChangeCabinetBalance($cab, 9, $win->amount->value, 0, 0, 0, 0);
                OperationLogEcp($foplog, $cab);
                $mikron->EntityManager->Save(Array($foplog, $cab, $win));
                echo 'Ваш выигрыш зачислен на баланс Вашего аккаунта.';
                break;
            }

            $frm = new html_form('winform', 'post', $_SERVER['REQUEST_URI']);

            if($frm->pageindex == 2)
            {
                $data = $frm->formdata;
                if(!array_key_exists('wmr', $data) || !array_key_exists('winkey', $data))
                {
                    $frm->pageindex = 1;
                }
                else
                {
                    $winkey = $frm->formdata['winkey'];
                    $wmr = $frm->formdata['wmr'];

                        $win->wmr->value = $wmr;
                        $win->state->value = 4;
                        $win->amount->value = $game->prize->value;
                        // http://localhost/win/?key=23a998a7700379045bcf75a521f992ca
                        $win->Save();
                        echo 'Спасибо, Ваши данные записаны, в течение 24 часов
                        Вам на кошелек будет начислен выигрыш. О статусе операции
                        Вы можете смотреть на этой странице просто обновляя ее.';
                }
            }

            if($frm->pageindex == 1)
            {
                ?><p>{{$WINMESSAGE}}</p><?php
                $frm->addInput(1, 'winkey', null, null, null, true, $winkey);
                $frm->addInput(1, 'wmr', 'R-кошелек: ', 16, 16);
                $frm->addSubmit('addwin', 'Ok');
            }
            $frm->end();
            break;
    }

    function gameByCode($code)
    {
        global $mikron;
        $game = $mikron->Queries->Query('GAME', null, new Criterion('code', $code));
        if($game->count() == 0)
        {
            return null;
        }
        return $game->fetch();
    }

    $mikron->Page->EndBody();
    
?>